package com.codemonkey.lq.qd.builder;

import com.codemonkey.lq.qd.facotry.config.SConfiguration;

/**
 * 仿Spring中的针对于Bean的BeanPostProcessor,
 * 也仿造了BeanPostProcessor的package name, BeanPostProcessor所处的位置与BeanDefinition相同 
 * 继承自BaseBuilder的子类解析某个节点(这里非特指xml节点)前后进行调用
 * @author LQ
 *
 */
public interface BuilderPostProcessor {
	/**
	 * 似乎没啥用,参数给出的信息量太少;无法得知当前处理的是哪个节点
	 * @param builder
	 * @param configuration
	 */
	@Deprecated
	void postProcessBeforeBuild(BaseBuilder builder, SConfiguration configuration);

	/**
	 * @param builder 本次的BaseBuilder
	 * @param obj    使用本builder生成的实例对象
	 * @param configuration  
	 */
	void postProcessAfterBuild(BaseBuilder builder,Object obj, SConfiguration configuration);
}
